package com.yang.designmode.ActionMode.template;
// 抽象类 GameTemplate
public abstract class GameTemplate {
    // 模板方法，定义了算法骨架
    public final void play() {
        initialize();
        startGame();
        endGame();
    }

    // 基本方法 - 初始化
    protected abstract void initialize();

    // 基本方法 - 开始游戏
    protected abstract void startGame();

    // 钩子方法 - 可选实现
    protected void endGame() {
        System.out.println("Game ended.");
    }
}
